$(function () {

    /*角色数据列表*/
    $("#role_dg").datagrid({
        url:"/getRoles",
        columns:[[
            {field:'rnum',title:'角色编号',width:100,align:'center'},
            {field:'rname',title:'角色名称',width:100,align:'center'}
        ]],
        fit:true,
        fitColumns:true,
        rownumbers:true,
        pagination:true,
        singleSelect:true,
        striped:true,
        toolbar:"#toolbar"
    });

    /*添加/编辑对话框*/
    $("#dialog").dialog({
        width:500,
        height:400,
        closed:true,
        buttons:[{
            text:'保存',
            handler:function(){
                var rid = $("[name = 'rid']").val();
                console.log(rid);
                var url;
                if (rid){
                    url = "/updateRole";
                }else {
                    url = "/saveRole";
                }
                $("#myform").form("submit",{
                    url:url,
                    onSubmit:function(param){
                        var rowList = $("#role_data2").datagrid("getRows");
                        for(i = 0; i<rowList.length; i++){
                            var row = rowList[i];
                            param["permissionList["+i+"].pid"] = row.pid;
                        }
                    },
                    success:function(data){
                        var data = $.parseJSON(data);
                        if (data.success){
                            $.messager.alert("温馨提示",data.message);
                            /*关闭对话框 */
                            $("#dialog").dialog("close");
                            /*重新加载数据表格*/
                            $("#role_dg").datagrid("reload");
                        } else {
                            $.messager.alert("温馨提示",data.message);
                        }
                    }
                });
            }
        },{
            text:'关闭',
            handler:function(){
                $("#dialog").dialog("close");
            }
        }]

    });

    /*权限列表*/
    $("#role_data1").datagrid({
        title:"所有权限",
        width:200,
        height:250,
        fitColumns:true,
        singleSelect:true,
        url:'/permissionList',
        columns:[[
            {field:'pname',title:'权限名称',width:100,align:'center'}
        ]],
        onClickRow:function (rowIndex, rowData) {
            // 获得所有的行
           var rowList = $("#role_data2").datagrid("getRows");
            for(i = 0; i<rowList.length; i++){
                var row = rowList[i];
                //如果存在，选中
                if (row.pid == rowData.pid){
                    var index = $("#role_data2").datagrid("getRowIndex",row);
                    $("#role_data2").datagrid("selectRow",index);
                    return;
                }
            }
            $("#role_data2").datagrid("appendRow",rowData);
        }
    });

    /*选中权限列表*/
    $("#role_data2").datagrid({
        title:"已选权限",
        width:200,
        height:250,
        singleSelect:true,
        fitColumns:true,
        columns:[[
            {field:'pname',title:'权限名称',width:100,align:'center'}
        ]],
        onClickRow:function (rowIndex, rowData) {
            $("#role_data2").datagrid("deleteRow",rowIndex);
        }
    });

    /*点击添加*/
    $("#add").click(function () {
       $("#dialog").dialog("open");
        $("#dialog").dialog("setTitle","添加角色");
        /*清空表单*/
        $("#myform").form("clear");
        /*清空已选权限*/
        $("#role_data2").datagrid("loadData",{rows:[]});
    });

    /*点击编辑*/
    $("#edit").click(function () {
        /*获取当前选中的行*/
        var rowData = $("#role_dg").datagrid("getSelected");
        if (!rowData) {
            $.messager.alert("提示", "选择一行数据进行编辑");
            return;
        }

        $("#dialog").dialog("open");
        $("#dialog").dialog("setTitle","修改角色");
        /*清空表单*/
        $("#myform").form("clear");
        /*清空已选权限*/
        $("#role_data2").datagrid("loadData",{rows:[]});

    //数据回显
        $("#myform").form("load",rowData);
        /*加载当前角色下的权限*/
        var options =  $("#role_data2").datagrid("options");
        options.url = "/getPermissionByRid?rid="+rowData.rid;
        /*重新加载数据*/
        $("#role_data2").datagrid("load");

    });

    //点击删除
    $("#remove").click(function () {
        /*获取当前选中的行*/
        var rowData = $("#role_dg").datagrid("getSelected");
        if (!rowData) {
            $.messager.alert("提示", "选择一行数据进行删除");
            return;
        }
        /*弹出提示框*/
        $.messager.confirm("确认","您确定要删除",function (res) {
            if (res){
                $.get("/deleteRoleByID?rid="+rowData.rid,function (data) {
                    if (data.success){
                        $.messager.alert("温馨提示",data.message,"info",function () {
                            $("#role_dg").datagrid("reload");
                        })
                    }
                })
            }
        })
    });
});